package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.OkrTask;
import com.ruoyi.system.domain.OkrTaskType;
import org.apache.ibatis.annotations.Param;

/**
 * 任务管理Mapper接口
 * 
 * @author ruoyi
 * @date 2021-09-19
 */
public interface OkrTaskMapper 
{
    /**
     * 查询任务管理
     * 
     * @param id 任务管理ID
     * @return 任务管理
     */
    public OkrTask selectOkrTaskById(Long id);

    /**
     * 查询任务管理列表
     * 
     * @param okrTask 任务管理
     * @return 任务管理集合
     */
    public List<OkrTask> selectOkrTaskList(OkrTask okrTask);

    /**
     * 新增任务管理
     * 
     * @param okrTask 任务管理
     * @return 结果
     */
    public int insertOkrTask(OkrTask okrTask);

    /**
     * 修改任务管理
     * 
     * @param okrTask 任务管理
     * @return 结果
     */
    public int updateOkrTask(OkrTask okrTask);

    /**
     * 删除任务管理
     * 
     * @param id 任务管理ID
     * @return 结果
     */
    public int deleteOkrTaskById(Long id);

    /**
     * 批量删除任务管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOkrTaskByIds(String[] ids);


    /**
     * 根据任务id查找与之关联的OKR
     * @param taskId 任务id
     * @return okrId集合
     */
   public List<String> selectOkrTaskByTaskId(Long taskId);


    /**
     *  增加任务与okr关系
     * @param
     * @param taskId  任务id
     */
    public int insertOkrRoleTask(@Param("id") Long id, @Param("taskId") Long taskId);


    /**
     * 删除与任务相关的okr
     * @param
     * @return
     */
    public int deleteOkrRoleTask(Long id);


    /**
     * 根据当前okr查找与之关联的任务
     * @param
     * @return
     */
    public List<OkrTask> selectOkrRoleTaskByRowId(Long id);
}
